package algoritmi;

/**
 * LFU - Least Frequently Used algoritam
 * 
 * @author Maja Kabiljo
 * 
 */
public class LFU extends AlgoritamImpl {
	private int[] frekvencije;

	public LFU() {
	}

	@Override
	protected void start(int[] koraci) {
		frekvencije = new int[velicinaKesa];
		for (int i = 0; i < velicinaKesa; i++)
			frekvencije[i] = 0;
	}

	@Override
	protected int[] getVrednosti() {
		return frekvencije;
	}

	@Override
	protected void pogodak(int korak, int pozicijaUKesu) {
		frekvencije[pozicijaUKesu]++;
	}

	@Override
	protected int promasaj(int korak) {
		int pozicija = Utils.nadjiIndeksMinimuma(frekvencije);
		frekvencije[pozicija] = 1;
		return pozicija;
	}
}
